package com.huangjue.backend.service;

import com.huangjue.backend.dto.aiChatClient.AiRequestMessage;
import com.huangjue.backend.dto.aiChatClient.ClientResponse;
import reactor.core.publisher.Flux;

import java.util.Collection;
import java.util.Map;

public interface AiService {

    //基础的与AI聊天服务
    ClientResponse defaultCall(String SystemPrompt, String UserInput, double temperature, String ResponseFormat, Collection<AiRequestMessage> history);

    /**
     * 流式调用Ai服务
     * @return 结果的Flux流
     */
    Flux<String> callStream(String systemPrompt, String userInput, double temperature, String ResponseFormat, Collection<AiRequestMessage> history);


    //给作业代码片段进行评分
    Map<String, Object> assignmentScore(String code, int userId, int homeworkId);

    Map<String, Object> checkHomework(String code, int userId, int homeworkId);

    //对作业代码进行总结
    Map<String, Object> homework_summary(String code, int userId, int homeworkId);
}
